Disambiguating ambiguous characters

ABSTRACT

In one general sense, information may be presented to a user by receiving one or more ambiguous characters that may be resolved to one of at least two disambiguated characters, exchanging at least one of the ambiguous characters with a host, receiving, from the host, results that reflect disambiguated terms related to the ambiguous characters exchanged with the host, rendering the results in a manner enabling the user to perceive which of the disambiguated terms will be used upon user selection of an aspect of the results, and enabling the user to select an aspect of the results to effect use of a corresponding one of the disambiguated terms.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Ser. No. 11/177,477 entitled“Disambiguating Ambiguous Characters,” filed Jul. 11, 2005, now U.S.Pat. No. 7,966,003 which in turn claims priority to U.S. ProvisionalApplication No. 60/586,502, titled “On Demand Download,” filed Jul. 9,2004.

TECHNICAL FIELD

This document relates to content retrieval and presentation.

BACKGROUND

The Internet enables users to access a great amount of information. Auser with a web browser, a messaging application, or another proprietaryapplication may retrieve information from large libraries to accessgreat amounts of information. Navigating the great amount of informationcan, however, challenge some users.

SUMMARY

In one general sense, information may be presented to a user byreceiving one or more ambiguous characters that may be resolved to oneof at least two disambiguated 15 characters, exchanging at least one ofthe ambiguous characters with a host, receiving, from the host, resultsfrom that reflect disambiguated terms related to the ambiguouscharacters exchanged with the host, rendering the results in a mannerenabling the user to perceive which of the disambiguated terms will beused upon user selection of an aspect of the results, and enabling theuser to select an aspect of the results to effect use of a correspondingone of the disambiguated terms.

Implementations may include one or more of the following features. Forexample, a wireless phone with a reduced-entry keypad may be used toenter the one or more ambiguous characters. At least some of theambiguous characters may be transmitted to the host across a wirelessnetwork and the results may be rendered in a display on the wirelessphone. The user may be enabled to manipulate the reduced-entry keypad ofthe wireless phone to select an aspect of the results that effects oneof the disambiguated terms for use as a selected disambiguated term.

The user may be enabled to enter a special character. The specialcharacter may be used to select a subset from within the results and thesubset may be rendered. Enabling the user to enter the special charactermay include enabling the user to select a “#” key, a “*” key, or anarrow button as a mechanism to effect selection of the subset.

One or more ambiguous characters may be analyzed before exchanging thesequence with the host. The results may be rendered in response toanalyzing the sequence and the user may be enabled to interact with theresults. As a result of user interaction with the results, at least someof the ambiguous characters may be exchanged with the host to update theresults.

It may be determined if a threshold number of ambiguous characters hasbeen received, and the ambiguous characters may be exchanged uponreceipt of the threshold number of ambiguous characters. It may bedetermined if an updated threshold of updated ambiguous characters havebeen received, and the updated ambiguous characters may be exchangedupon receipt of the updated threshold of ambiguous characters. Updatedresults may be received from the host and rendered.

Establishing communications with the host may include activating aninactive communications channel or accessing an active communicationschannel. Communications with the host may be established upon receipt ofthe threshold number of ambiguous characters and the ambiguouscharacters may be exchanged when communications have been established.

Communications with the host may be established upon receipt of thethreshold number of ambiguous characters and nonambiguous characters andthe ambiguous characters and the nonambiguous characters may beexchanged when communications have been established.

Nonambiguous characters may be received and exchanged with the host.Receiving the ambiguous characters may include receiving only ambiguouscharacters. Receiving the ambiguous characters may include receivinghandwritten input resulting from a handwriting recognition system.

Receiving the ambiguous characters may include receiving an indicationof a handwritten stroke in an ideographic language.

In another general sense, information may be presented to a user byreceiving one or more ambiguous characters that may be resolved to oneof at least two disambiguated characters, analyzing the ambiguouscharacters, based on analysis of the ambiguous characters, generatingresults that identify several user applications that are related to theambiguous characters, rendering the results in a manner enabling theuser to perceive which one of the several user applications will belaunched in response to user selection of a corresponding aspect of theresults, and enabling the user to select one aspect of the results toeffect a launch of the user application corresponding to the selectedaspect of the results.

Implementations may include one or more of the following features. Forexample, a wireless phone with a reduced-entry keypad may be used toenter the one or more ambiguous characters. The ambiguous characters maybe related to disambiguated terms and the several user applications maybe identified based on the disambiguated terms. The results may berendered in a display on the wireless phone with an indication of anapplication that will be launched upon user selection of the aspect ofthe results corresponding to the user application and the user may beenabled to use a reduced-entry keypad of the wireless phone to selectone aspect of the results corresponding to one of the several userapplications.

Based upon the one or more received ambiguous characters, a firstcorresponding disambiguated result may be identified that is attainablethrough invocation of a browser application and a second correspondingdisambiguated result may be identified that is attainable throughinvocation of a directory service application. The first correspondingdisambiguated result and the second corresponding disambiguated resultmay be rendered and selection by the user of the first correspondingresult or the second corresponding result may be enabled.

Identifying the first corresponding disambiguated result that isattainable through invocation of the browser application may includeidentifying the first corresponding disambiguated result that isattainable through invocation of a browser application that isconfigured to render content using a markup language other than a HyperText Markup Language (HTML). Identifying the first correspondingdisambiguated result that is attainable through invocation of thebrowser application may include enabling the user to access differentapplications through the browser application. Enabling the user toaccess the different applications through the browsing application mayinclude enabling the user to access at least one of a mapping service, aweb browsing service, an advertising service, an instant messagingservice, and an email service.

Rendering the results in a display on the wireless phone with theindication of the application may include rendering the results with anicon representative of the application. The ambiguous characters may berelated to disambiguated terms and the several user applications may beidentified based on the disambiguated terms.

Yet other embodiments herein include software programs to perform thesteps and operations summarized above and disclosed in detail below. Onesuch embodiment comprises a computer program product that has acomputer-storage medium (e.g., a non-transitory, tangible,computer-readable media, disparately located or commonly located storagemedia, computer storage media or medium, etc.) including computerprogram logic encoded thereon that, when performed in a computerizeddevice having a processor and corresponding memory, programs theprocessor to perform (or causes the processor to perform) the operationsdisclosed herein. Such arrangements are typically provided as software,firmware, microcode, code data (e.g., data structures), etc., arrangedor encoded on a computer readable storage medium such as an opticalmedium (e.g., CD-ROM), floppy disk, hard disk, one or more ROM or RAM orPROM chips, an Application Specific Integrated Circuit (ASIC), afield-programmable gate array (FPGA), and so on. The software orfirmware or other such configurations can be installed onto acomputerized device to cause the computerized device to perform thetechniques explained herein.

Accordingly, one particular embodiment of the present disclosure isdirected to a computer program product that includes one or morenon-transitory computer storage media having instructions stored thereonfor supporting operations such as: receiving one or more ambiguouscharacters via a reduced-entry keypad of a wireless phone, the one ormore ambiguous characters received as a sequence of numbers inputthrough the reduced-entry keypad, each respective ambiguous characterbeing a number that represents one of at least two disambiguatedletters; exchanging at least one of the ambiguous characters with a hostby transmitting the sequence of numbers to the host across a wirelessnetwork, exchanging the at least one of the ambiguous charactersincluding exchanging the sequence of numbers upon receiving an amount ofnumbers in the sequence that meets an initial predetermined thresholdamount of numbers, and exchanging subsequently received numbers,received as part of the sequence of numbers, after receiving an amountof the subsequently received numbers above a second predeterminedthreshold amount of numbers; receiving, from the host, results thatrepresent disambiguated terms corresponding to the ambiguous charactersexchanged with the host; rendering the results in a display of thewireless phone in a manner that enables identification of which of thedisambiguated terms will be used upon a received selection of adisplayed result; receiving, from the host, updated results thatrepresent disambiguated terms corresponding to the subsequently receivednumbers exchanged with the host; rendering the updated results in thedisplay of the wireless phone; and in response to receiving a selectionof one of the disambiguated terms, displaying information correspondingto the selection. The instructions, and method as described herein, whencarried out by a processor of a respective computer device, cause theprocessor to perform the methods disclosed herein.

Other embodiments of the present disclosure include software programs toperform any of the method embodiment steps and operations summarizedabove and disclosed in detail below.

Of course, the order of discussion of the different steps as describedherein has been presented for clarity sake. In general, these steps canbe performed in any suitable order.

Also, it is to be understood that each of the systems, methods,apparatuses, etc. herein can be embodied strictly as a software program,as a hybrid of software and hardware, or as hardware alone such aswithin a processor, or within an operating system or within a softwareapplication, or via a non-software application such a person performingall or part of the operations. Example embodiments as described hereinmay be implemented in products and/or software applications such asthose manufactured by Nuance Communications Inc., Burlington, Mass.,USA.

As discussed above, techniques herein are well suited for use insoftware applications supporting information retrieval. It should benoted, however, that embodiments herein are not limited to use in suchapplications and that the techniques discussed herein are well suitedfor other applications as well.

Additionally, although each of the different features, techniques,configurations, etc. herein may be discussed in different places of thisdisclosure, it is intended that each of the concepts can be executedindependently of each other or in combination with each other.Accordingly, the present invention can be embodied and viewed in manydifferent ways.

Note that this summary section herein does not specify every embodimentand/or incrementally novel aspect of the present disclosure or claimedinvention. Instead, this summary only provides a preliminary discussionof different embodiments and corresponding points of novelty overconventional techniques. For additional details and/or possibleperspectives of the invention and embodiments, the reader is directed tothe Detailed Description section and corresponding figures of thepresent disclosure as further discussed below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a communications system that may be used tointelligently present results related to a character stream analyzed bya host.

FIG. 2 is a flow chart showing how a client may use a host tointelligently present results related to a character stream.

FIG. 3 is a flow chart showing how a client exchanges a character streamwith a host and receives mapping information related to the characterstream.

FIG. 4 is a flow chart showing how the client display may be modifiedbased on updates to the character stream.

FIGS. 5-10 are exemplary graphical user interfaces (GUIs) illustratinghow real-time results related to a character stream may be presented.

FIG. 11 illustrates a mobile device that may be configured to returnresults related to an ambiguous character.

FIG. 12 illustrates a mobile device configured to return resultsresponsive to additional input of ambiguous characters after initiallypresenting results responsive to ambiguous characters.

FIG. 13 illustrates a mobile device configured to return resultsresponsive to the input of a space character after initially presentingresults responsive to a sequence of ambiguous characters.

FIG. 14 illustrates a mobile device configured to display informationrelated to a result that has been selected.

FIG. 15 illustrates a mobile device configured to display advertisementsassociated with user inputs.

FIG. 16 illustrates a mobile device display for a mobile device that isconfigured to return results related to one or more ambiguouscharacters.

FIG. 16 also illustrates the use of icons to provide an indication of anapplication invoked in response to selecting a particular result.

FIG. 17 illustrates how a “shortcut” may relate to characters appearingat the beginning of a disambiguated term.

FIG. 18 includes four exemplary mobile device displays illustrating howa sequence of ambiguous characters may be entered and analyzed togenerate a term as a result for inclusion in a text message.

FIG. 19 includes four exemplary mobile device displays that areassociated with a mobile device configured to receive one or moreambiguous characters and retrieve results responsive to the ambiguouscharacters.

FIG. 20 illustrates a java applet that may be launched in response toselecting an application appearing as a result.

DETAILED DESCRIPTION

A key challenge in providing an improved experience for users accessingthe Internet and its large content reserves is enabling the users toaccess information most relevant to their interests with the leastamount of effort in retrieving the results. This challenge is pronouncedwhen users operate devices that have ambiguous character sets, such aswireless phones that have reduced-entry keypads. For example, a userrelying on a wireless phone with a reduced-entry keypad (e.g., a 12character touchpad where a “2” button also represents “A”, “B”, and “C”)may find it difficult to access an application predicated upon entry ofone or more characters.

To assist users who enter ambiguous input, it is possible to resolve theambiguous input into several potential disambiguated candidates and toenable user selection among those candidates. Furthermore, in additionto providing the user with an indication of the disambiguatedcandidates, applications and/or related actions may be provided inaddition or as an alternative to presenting the disambiguatedcandidates.

More specifically, for instance, a user may enter a sequence of one ormore ambiguous characters on a device such as a wireless phone. Theambiguous characters may be analyzed and results may be generated inresponse. The results may be related to several disambiguated terms andalso related to more than one user applications. For example, user entryof “733” on a 12 key alphanumeric keypad on wireless phone may beanalyzed and resolved to terms relating to or including “RED”. The term“RED” may in turn be related to different applications, such as amapping application related to Redondo Beach, a sports applicationrelated to the Washington Redskins, and/or a directory serviceapplication related to Red Lobster. The results are rendered in a mannerenabling the user to perceive which one of the several user applicationsare available for user selection/launch. For example, a wireless phonemay indicate that selection of a first result launches a mappingapplication and selection of a second result launches a directoryservice application. Finally, the user is made able to select one of thedisambiguated terms to launch one of the user applications related tothe selected result. For example, a user on a wireless phone may usearrow keys and a selection button to launch a mapping application thatprovides driving direction in Redondo Beach.

In another example, a user on a wireless phone may enter “23212” as asequence of ambiguous characters. The wireless phone may provide theresults to a host for analysis. The host may retrieve maps and directoryservice information related to “23212”. Note that in this example, theuser did not identify a mapping label, dialing information, or includethe words “zip code” to retrieve the results for zip code 23212. Rather,the sequence of ambiguous characters is analyzed and used to determinethat an input of its content or form may correspond to this form or typeof input and thus may be used to inspire consideration or display ofpotential mapping results may be considered and/or displayed.

Even though the sequence of ambiguous characters may relate to a varietyof applications and/or be resolved to multiple disambiguated terms, theresults may be displayed in such a manner that the user may select oneof the results to launch an application or a code segment related to theselected item. For example, if the displayed results include a list ofplumbers available to support the user, selecting one of the entries maylaunch a web page operated by a particular plumber. In another example,a phone call, an electronic mail message or an instant message may betransmitted to the plumber whose entry was selected from the results. Inyet another example, the user may insert a result as an object (e.g., anattachment, link or word) in a message.

The user may continue to enter one or more ambiguous characters, and theresults may be modified based on recently received ambiguous characters.For example, in one implementation, when a character stream is analyzedinitially after entering “spring”, results related to the season ofspring and products using the term “spring” may be returned. When theuser types an “f” character (or the “3DEF” key), the additional inputmay be transmitted to the host, which in turn generates results relatedto “springf”. In one example, the previous results related to “spring”are filtered to generate a new list that only includes content relatedto “springf”. In another example, a new query is run identifying termsrelated to “springf”.

Regardless of how the query is structured, a host identifies resultsrelated to “springf”, which may include one or more selections relatedto cities and towns named Springfield. Results for multiple towns may bepresented in a portion of the application that the user is accessing. Inone example, the user may be allowed to select one of the results togenerate a map related to the selected Springfield. In another example,the user may be presented with entries for “Springfield, Mass.” and“Springfield, Ill.” The user may continue typing characters in thecharacter stream. When the user types in an “I” character after“Springfield” has been identified, the “Springfield, Mass.” entry may beremoved. The user then may select the “Springfield, Ill.” entry toretrieve a map of Springfield, Ill.

FIG. 1 shows a communications system 100 that enables intelligentpresentation of results related to a character stream. Generally, aclient 110 exchanges communications relating to a character stream ofnoncompletion character with a host 130 using network 120. The host 130analyzes the character stream to generate results related to thecharacter stream using, for example, a database 140 (e.g., a yellowpages directory or a mapping system). The host 130 provides one or moreresults to the client 110, which in turn displays the results.Generally, the client 110 includes a computing device that enables auser to exchange information over a communications network. The client110 may include one or more devices capable of accessing content on thehost 130. The client 110 also may include a controller (not shown) thatprocesses instructions received from or generated by a softwareapplication, a program, a piece of code, a device, a computer, acomputer system, or a combination thereof, which independently orcollectively direct operations of the client 110. The instructions maybe embodied permanently or temporarily in any type of machine,component, equipment, storage medium, or propagated signal that iscapable of being delivered to the client 110 or that may reside with thecontroller at client 110. Client 110 may include a general-purposecomputer (e.g., a personal computer (PC)) capable of responding to andexecuting instructions in a defined manner, a workstation, a notebookcomputer, a PDA (“Personal Digital Assistant”), a wireless phone, acomponent, other equipment, or some combination of these items that iscapable of responding to and executing instructions.

In one implementation, the client 110 includes one or more informationretrieval software applications (e.g., a browser, a mail application, aninstant messaging client, an Internet service provider client, or an AOLTV or other integrated client) capable of receiving one or more dataunits. The information retrieval applications may run on ageneral-purpose operating system and a hardware platform that includes ageneral-purpose processor and specialized hardware for graphics,communications and/or other capabilities. In another implementation,client 110 may include a wireless telephone running a micro-browserapplication on a reduced operating system with general purpose andspecialized hardware capable of operating in mobile environments.

The client 110 includes one or more character stream code segments thatanalyze a character stream input to an information retrievalapplication. The character stream code segment receives the stream andstructures the exchange of the character stream with other softwareapplications on the client 110 and/or host 130. For example, thecharacter stream code segment may wait initially wait until X initialcharacters are received before sending a transmission to the host 130.The character stream code segment then may send updates to the hostevery Y subsequent characters. Alternatively, the character stream codesegment may include a delay feature set that transmits an update to thecharacter stream if there are Z seconds of user inactivity. Thus, when Xis 5 (“five”) characters, Y is 2 (“two”) characters, and Z is 1 (“one”)second, the character stream code segment for a user who types in“DULLES GAS STAT.” would request results (1) after “DULLE” (2) after“DULLES”, “DULLES GA”, “DULLES GAS”, “DULLES GAS ST”, and “DULLES GASSTAT”. In the same example, if the user typed “DULLES GAS S” and pausedfor more than a second (when Z=1 second and the delay feature set isbeing used), the character stream code segment would send the “DULLESGAS S” string to the host for analysis.

Alternatively or in addition, a client may wait until a differentcondition has been met before exchanging characters with a host. Forexample, a client may monitor user activities to determine if the userhas walked through a list of matching terms more than a threshold numberof times, or to determine if the user manually selected a “MORE button.In yet another example, a client may exchange a selected word toretrieve additional results using the selected word as basis foranalysis. Thus, when the user enters “733” on a reduced-entry keypad andthen selects “Redskins”, the client requests additional results relatedto “Redskins”.

The client 110 may include a preliminary analysis code segment toanalyze the character stream and send periodic updates. The preliminaryanalysis code segment screens the character stream to enhance theefficacy of the results generated for the character stream. In oneexample, the preliminary analysis code segment identifies one or moredatabases or segments likely to be associated with the predictedinterest of a consumer. Thus, when “20005” is entered, the preliminaryanalysis code segment may instruct an instruction in the transmission tothe host 130 to poll geographic information related to zip code 20005.Other examples may include the preliminary analysis code segmentidentifying a service industry (e.g., plumbers), a segment (e.g., onlinemusic), or a combination of factors (e.g., plumbers in zip code 20005)as relevant to the results that are sought by the user. With thepreliminary factors identified, the transmission may be sent to anappropriate database, or a query may be modified as a result ofperforming the preliminary analysis.

In another example, the preliminary analysis code segment also maycorrelate information that has been learned about a user with thecharacter stream. If the client is believed to be operating in aparticular area (e.g., based on GPS data, wireless tower information,and/or billing information for the user), the character stream can bemodified to instruct the host 130 that results should be responsive tothe user's relative or absolute location. Similarly, the preliminaryanalysis code segment may interface with a cache or user history tobetter identify results for the user. Thus, if a history of useractivity indicates that the user is interested in National FootballLeague sporting events, the preliminary analysis code segment may tailorresults based on the relationship of the results to American Footballrather than International Football (soccer). The preliminary analysiscode segment also may retrieve and display locally stored results beforethe host 130 is accessed.

The client 110 may include a communications code segment that interfaceswith the information retrieval code segment (e.g., browser or key wordtool) to modify the character stream results to reflect the networkenvironment of the client. For example, when the client 110 includes awireless phone with limited bandwidth, the communications code segmentmay structure the communications exchange to limit the amount of data inresults that are returned so as not to overwhelm the network 120. Thismay include filtering the results so that no more than a specifiednumber of results are returned. Similarly, the format of the results maybe modified to reduce the bandwidth of results. For example, resultstransmitted to the client 110 may have the graphics or images removedfrom the application.

The client may include a display code segment that tailors the resultsto a display device (e.g., a monitor or a LCD (“Liquid CrystalDisplay”)). The display code segment may manage the presentation ofresults so that only the most likely results are presented. The displaycode segment may interface with the host 130 so that the number ofresults does not overwhelm the memory or display capabilities of theclient. In one example, the display code segment may instruct the host130 to transmit no more than a specified number of results. In anotherexample, the display code segment may instruct the host 130 to notreturn any result items larger than a specified size.

The client 110 may include one or more media applications. For example,the client 110 may include a software application that enables theclient 110 to receive and display an audio or video data stream. Themedia applications may include controls that enable a user to configurethe user's media environment. For example, if the media application isreceiving an Internet radio station, the media application may includecontrols that enable the user to select an Internet radio station, forexample, through the use of “preset” icons indicating the station genre(e.g., country) or a favorite.

The network 120 may include hardware and/or software capable of enablingdirect or indirect communications between the client 110 and the host130. As such, the network 120 may include a direct link between theclient 110 and the host 130, or it may include one or more networks orsubnetworks between them (not shown). Each network or subnetwork mayinclude, for example, a wired or wireless data pathway capable ofcarrying and receiving data. Examples of networks include the Internet,the World Wide Web, a WAN (“Wide Area Network”), a LAN (“Local AreaNetwork”), analog or digital wired and wireless telephone networks,radio, television, cable, satellite, and/or any other delivery mechanismfor carrying data.

The host 130 is generally capable of executing instructions under thecommand of a host controller (not shown). The host 130 may include oneor more hardware components and/or software components. An example of ahost 130 is a general-purpose computer (e.g., a server or a mainframecomputer) capable of responding to and executing instructions in adefined manner. Other examples include a special-purpose computer, aworkstation, a PC, a device, a component, other physical or virtualequipment, or some combination thereof capable of responding to andexecuting instructions.

The controller is a software application loaded on the host 130 forcommanding and directing communications exchanged with the client 110.Other examples include a program, a piece of code, an instruction, adevice, a computer, a computer system, or a combination thereof, forindependently or collectively instructing the client 110 or the host 130to interact and operate as described. The host 130 may be embodiedpermanently or temporarily in any type of machine, component, physicalor virtual equipment, storage medium, or propagated signal capable ofproviding instructions to the client 110 or the host 130.

The controller may include one or more information providingapplications to support information retrieval requests sent from theclient 110. The information providing applications may include a resultscode segment that receives a character stream from the client 110 andgenerates results responsive to a predicted interest by an individualuser. Thus, the results code segment may generate one or more resultsbased on the exchange of a character stream received from a client 110.The results code segment also may receive character stream modifiersreceived from the preliminary analysis code segment, the communicationscode segment, the display code segment, and/or other code segments thatmodify a character stream transmission from the client. The results codesegment may process the character stream in accordance with thesemodifiers. The host 130 also may operate code segments that performoperations similar to the feature sets in the preliminary analysis codesegment, the communications code segment, and the display code segment.These host-oriented versions of these code segments may interface withthe results code segment to modify the analysis performed and/or theresults that are returned. For example, the host 130 may initiallyaccess a cache of content previously requested by the user. Thepreviously-returned results may be analyzed for relevancy beforeadditional analysis is performed or additional systems are polled.

The host 130 may interface with a database 140 to analyze the characterstream. Generally, the database 140 includes storage for a volume ofdata and a processing engine that enables the data to be sorted,searched, and analyzed. The database may be organized along functionalcriteria. For example, a mapping database may be organized bygeographical region, while a yellow pages database may be organized bybusiness as well as geographic criteria. In one example, the databasemay be structured to perform a more detailed analysis on a characterstream provided by a host 130. For example, a host 130 may receive acharacter stream from a client and redirect queries to one or moredatabases 140. Each of the redirected queries may be modified to furtherrefine the redirected query. For example, a query redirected to a yellowpages directory may have the zip code added as a selection term.Similarly, a query directed to a database that provides stock quotes mayinclude a reference describing which stocks are of interest to the user(e.g., stocks owned by the user).

Referring to FIG. 2, a flow chart 200 illustrates how a client 110 mayuse a host to intelligently present results related to a characterstream of noncompletion characters. Generally, the systems in flow chart200 relate to the systems described in FIG. 1. Flow chart 200illustrates how the client 110 receives a character stream (step 210)and exchanges the character stream with the host (step 220). The host130 receives the character stream (step 230), analyzes the characterstream (step 240), and exchanges the results with the client 110 (step250). The client 110 receives the results (step 260), displays theresults (step 270), receives a user selection (step 280), and launches acode segment related to the selected result (step 290).

Initially, the client 110 receives a character stream of one or morenoncompletion characters (step 210). Generally, receiving a characterstream of one or more noncompletion characters includes receiving andorganizing a user's keystrokes that are entered into a user application.For example, a user may be typing an entry into an address form for aweb browser, or a key word entry field in a key word utility. Receivingthe character stream may include structuring the character stream intotransmissions to be exchanged with a host 130. For example, the clientapplication may organize the transmission into a first message after apredetermined number of characters has been entered. The clientapplication may structure additional messages to be created after apredetermined number of additional characters has been entered or apredetermined time period has elapsed between the user-enteredcharacters. The noncompletion label indicates that the user has notindicated that the character entry process has been completed. In otherwords, a character stream with noncompletion characters indicates thatadditional characters may be received to modify the search results thatare displayed in response to the predicted interest of the user. Incontrast, the carriage return or “Enter” key is typically used as acompletion character that enables the user to expressly generate resultsbased on the completed character stream. Additionally, the carriagereturn is a completion character in that additional characters do notcause the results to be modified. On a device with a reduced-entrykeypad, such as a mobile phone, a special key (e.g., “down arrow”) maybe used to signify completion of a term in a sequence of ambiguouscharacters.

Regardless of how the transmissions between the client 110 and the host130 are structured, the client 110 sends the character stream with thehost (step 220), which receives the character stream (step 230). Thehost 130 then analyzes the character stream (step 240). Typically,analyzing the character stream includes relating the received characterstream to one or more results that are responsive to a predictedinterest by the user. In one example, the character stream may becompared with metadata labels used to describe content accessible to thehost 130. For example, when the character stream includes “Nashvill”,the host 130 may anticipate that “Nashvill” will eventually be completedto “Nashville, Tenn. and identify web pages that feature Nashville,Tenn. in the web page and/or are summarized by Metadata labels with“Nashville, Tenn.”. However, the host 130 need not find identicalcharacter matches. For example, the host 130 may predict that a userentering “Nashvill” is predictive of an interest in country music.Accordingly, when the host 130 analyzes the results, the host 130 mayalso identify results related to country music, even if the results arenot related to Nashville, Tenn. In another example that illustrates howthe character stream may be analyzed using supplemental information, theresults may be translated to include country music only when the hostdetermines that the user is not from Tennessee.

Analyzing the character stream may include ranking the relativerelevancy of results. For example, widely visited Nashville web sites(e.g., the Nashville Board of Tourism) may be scored as more relevant toa non-Nashville resident than a web site that includes a Nashvilleresident's personal web log (“blog”). The results may be generated insuch a manner that the more relevant results are returned before theless relevant results.

With the character stream analyzed and the results identified, the host130 exchanges results with the client 110. The results may be controlledso as to comply with the network or display constraints of the client.For example, if the network has limited bandwidth or the client haslimited display capabilities, the host 130 may structure thetransmission to avoid network congestion or may modify the results so asprovide more suitable results (e.g., by removing images from the resultsthat are returned).

The client 110 receives the results (step 260). The client 110 mayperform additional processing to review the results to increase theefficacy of the display. For example, the client 110 may relate thereturned results to a user profile and tailor the results to bedisplayed accordingly. In another example, the client may analyze theresults to better develop the user profile and interests to increase theefficacy of subsequent character stream operations. Regardless ofwhether the results undergo intermediary processing, the client 110displays the results (step 270). The results are presented in a mannerthat enables the user to select one of the results instead of completingtheir intended sequence of characters. For example, as a user types inan entry in a key word retrieval application, a drop down window mayappear in the key word retrieval application with one or more likelyresults. As the user continues typing, the results appearing in the dropdown window may be tailored to reflect the latest analysis of thecharacter stream. When the user sees a result of interest, the user mayselect the result (step 280). Selection of a result causes theapplication to launch a code segment related to the selected result(step 290). For example, when the user selects a result describing a mapof an area, a web browser accessing a mapping web site may be launchedto display a map related to the inputted character stream.

FIG. 3 shows a flow chart 300 illustrating how a client 110 exchanges acharacter stream with a host 130 to retrieve mapping informationresiding on a database 140. Generally, the systems and operationsdescribed in FIG. 3 relate to the systems and operations describedpreviously with respect to FIGS. 1 and 2. However, FIG. 3 illustrateshow the host 130 may interface with the database 140 to retrieve resultsfor the client 110. The client 110 exchanges the character stream withthe host 130. The host, in turn, uses the database 140 in its analysisof the character stream to produce results. The host provides theresults to the client 110, which, in turn, presents the results andlaunches the appropriate code segment when the user selects the resultof interest.

Initially, the user of client 110 enters the character stream “Dulles”(step 305). The client exchanges the character stream with the host 130(step 310), which receives the character stream “Dulles” (step 315). Thehost 130 analyzes the character stream “Dulles” (step 320). The host 130may perform a local analysis of a character stream to compare thecharacter stream against popular results that are cached on the host130, while distributing customized queries to specialized databases toidentify results of greater relevance. For example, in flow chart 300,analyzing the character stream includes polling a mapping databaserelated to “Dulles” (step 325). Although flow chart 300 depicts onedatabase 140 being accessed, multiple databases may be polled. Examplesof other databases that may be polled include, but are not limited to,messaging databases, directory services, yellow pages, and financialdatabases.

The database 140 receives the poll with “Dulles” (step 330). “Dulles” isthen analyzed (step 335), and results are retrieved. For example,multiple maps related to Dulles, Va., could be identified and/orretrieved. This may include a map of Dulles Township, directions toDulles International Airport, and directions to various corporateoffices located in Dulles, Va. The results are then returned to the host130 (step 340).

Upon receiving the results (step 349, the host 130 exchanges the“Dulles” results with the client (step 350). Exchanging the results withthe client may include synchronizing results received from multipledatabases and identifying the results of the greatest relevance. Forexample, multiple databases may be polled to analyze the characterstream. The overall number of results returned from the client 110 maybe too large for the client 110 to process and/or display. Accordingly,the host 130 may filter and identify only those results relevant to thehost. In one example, the most relevant results are returned to theclient 110, while the pool of results remains available for analysis inlight of subsequently received characters in the character stream. Inanother example, the results from the databases are received atdifferent times. For example, a query that precisely develops and thenmatches a user demographic may take longer than a query that comparesthe results against the most commonly retrieved results. Exchanging theresults may include initially presenting the most commonly retrievedresults and then subsequently presenting the results of the longer querywhen the results of the longer query become available. The clientreceives the “Dulles” results (step 355) and displays them (step 360).As shown, when the client 110 receives a user selection to launch amapping application related to “Dulles” (step 365), the client 110launches a mapping application for the selected “Dulles” results (step370).

FIG. 4 illustrates a flow chart 400 showing how the client display maybe modified based on updates to the character stream. Generally, thesystems and operations shown in FIG. 4 relate to the systems andoperations described previously with respect to FIGS. 1-3. However, flowchart 400 illustrates how updates to the character stream may generatedifferent results with which the user may interact. In particular,subsequently received characters in the character stream may generate adifferent set of results for display by the client. In this manner, theuser may modify the character stream and observe in real-time newresults based on the modifications.

Initially, the client receives the character stream “Spring” (step 405),and exchanges the character stream 410 with the host 130 (step 410). Thehost 130 receives the character stream “Spring”(step 415) and analyzesthe character stream “Spring” (step 420). The host 130 and/or thedatabase 140 identifies mapping results for the character stream“Spring” (step 425), and returns these results to the client 110 (step430). The client receives the results related to “Spring” (step 435) anddisplays them (step 440).

The client then receives and exchanges additional characters in thecharacter stream (step 445). For example, although the string “Spring”may likely identify information related to the several cities ofSpringfield, the user may enter additional information to confirm thatSpringfield is what the user has in mind and to identify the Springfieldof interest to the user. Thus, the user may enter a field “I” as thenext characters to express interest in Springfield, Ill. The host 130and/or the database 140 receives and analyzes the additional characters(step 450). The host 130 and/or the database 140 generates a new set ofresults related to the update, which is exchanged with the client 110(step 455). In the example using Springfield, Ill., mapping and yellowpage information related to the town of Springfield, Illinois may beexchanged.

The client 110 receives the updates (step 460) and enables the userinteraction based on the updates (step 465). For example, a list ofmaps, services, and other information related to Springfield, Ill. maybe displayed.

Referring to FIG. 5, exemplary results related to a character streamwith noncompletion characters are shown in GUI 500. Generally, GUI 500may be displayed on a client 110 that was primarily described withrespect to FIG. 1 using the operations described with respect to FIGS.2-4. GUI 500 illustrates code segments that may be invoked in a resultspage as a character stream is entered in a user application such as aweb browser. Specifically, text entry field 510 has received thecharacter stream “aol” without a carriage return as is indicated by thecursor “I”. GUI 500 includes a result 520 that enables a search to belaunched for the string “aol”, a result 530 that enables a code segmentto be launched for the AOL Keyword “aol”, and a result 540 that enablesa code segment that retrieves a stock quote for “AOL”, which is showntrading at 15.32 US Dollars on a stock market exchange.

Referring to FIG. 6, exemplary results for the character stream“Arlington, Va. 22209” are shown in GUI 600. Generally, GUI 600 relatesto systems, operations, and displays described previously with respectto FIGS. 1-5. However, GUI 600 illustrates the different databasesand/or applications that may be accessed from a user application. Forexample, when “Arlington, Va. 22209” is inserted in text entry field610, a searching code segment can be launched using result 620 and amapping code segment can be launched using a result 630.

In one example, the displays related to results 620 and 630 have alreadybeen retrieved by the client 110. Alternatively, content in the displaysrelated to results 620 and 630 may need to be downloaded (e.g., from thehost 130 and/or the databases 140).

FIG. 7 illustrates a GUI 700 that is related to the character stream“dentist”. Generally, GUI 700 relates to the systems, operations, anddisplays described previously with respect to FIGS. 1-6. However, GUI700 illustrates how the character stream can be analyzed to identify ayellow page entry related to the character stream.

GUI 700 includes result 710 enabling the user to launch a code segmentto search on the character stream “dentist”. Note that, although in GUI700 the character stream includes the complete text for dentist, shorterstrings, such as “dentis” or “denti” also may be analyzed and used togenerate a result that launches a search on the character strings“denti” or “dentist”. Result 720 enables the user to launch a codesegment so that the client can “Go to” the AOL keyword “Dentist”.

Result 730 enables the user to launch a code segment to search the AOLYellow Pages for “Dentist”. Note that, although result 730 features aresult to launch a search of the yellow pages for “dentist”, other GUIsmay include a list of available dentists. For example, if the user'slocation is known, a list of dentists in the user's zip code may bepresented, with the dentists sorted and presented by specialties. Aresult from the GUI may be selected to launch the dentist's web page,launch a messaging application to exchange communications with thedentist, or launch a calendaring application to create a dentistappointment.

Referring to FIGS. 8 and 9, GUIs 800 and 900 illustrate how thedisplayed results may be altered as additional characters in thecharacter stream are received. Generally, GUIs 800 and 900 relate to thesystems, operations, and displays described previously with respect toFIGS. 1-7. However, GUIs 800 and 900 differ from the previous displaysin that the results are not displayed in a drop down window as appearedin FIGS. 5-7. Also, GUIs 800 and 900 illustrate how results may begenerated and displayed using a portion of the intended character streamand also how updates to the character stream need not follow thepreceding character stream to precisely form the string of interest. GUI800 shows the multiple results 820 that are available after “Spring” hasbeen inputted into the text entry field 810. GUI 900 indicates thatafter an “I” is subsequently entered in text entry field 910, theresults may be filtered so that only the results 920 “Springfield, Ill.”are displayed. Note that none of the intervening characters (e.g., the“field,” in Springfield, Ill.) were included in the character stream.

Although GUIs 800 and 900 indicate that a mapping resource is beingaccessed, the operations described for FIGS. 8 and 9 are applicable inother applications and environments. Because the user entered thecharacter stream within a mapping application, the results may betailored to seek map results. This may be performed by searching amapping database, or by polling a host 130 with a modifier indicatingthat mapping results should be retrieved. Although GUIs 800 and 900 donot require or allow the user to specify a mapping requirement orrestriction, other GUIs may allow the user to specify the databases thatare used to analyze the character stream (not shown).

Referring to FIG. 10, GUI 1000 is an exemplary messaging display thatenables a user to exchange messaging communications. Generally, GUI 1000relates to the systems and profiles described previously with respect toFIGS. 1-9. However, GUI 1000 illustrates the messaging results that canbe displayed when the character stream relates to messaging information.For example, when a user types in “chattingchuck” in a text entry field(not shown), GUI 1000 may be displayed, enabling the user to send mail,send an instant message, add “chattingchuck” to an address book, blockmail and instant messages from “chattingchuck”, and/or view the statusor interests for “chattingchuck”. Although FIG. 10 illustrates themessaging applications or operations related to one user named“chattingchuck”, results related to more than one user may be displayed.Similarly, when the user enters an “@” character (the AT characterassociated with Internet Mail systems), options not related toelectronic mail messaging may be removed.

Other implementations are in the scope of the following claims. Forexample, although the operations described examples of retrievingresults that relate to a character stream, the results need not includethe information that will ultimately be displayed upon launching a codesegment. Rather, the results may include a label that describes theresults that may be subsequently retrieved if accepted.

Similarly, the client and host applications may include assistants andspelling correction agents to increase the efficacy of retrievedresults. Assistants may help the user by retrieving similar resultsrelated to the predicted character stream's meaning. For example, if thecharacter stream includes “German automobiles,” results that includeprominent manufacturers of German automobiles, including Mercedes, BMW,and Audi, may be retrieved. Spelling correction agents may recognizethat the user has likely entered a typographical mistake. In response,the spelling correction agents may correct the character stream byaltering the entered character stream on the desktop and/or byretrieving results related to the predicted entry.

Similar to the spelling correction agent, the system may include avalidation agent that may be used to validate a URL (“Uniform ResourceLocator”) entered in the character stream. For example, when the userenters the, address for a web site, the web site address may be analyzedto determine if the device and file information actually exists and/oris correct. When the URL information is incorrect, the system mayresolve the character stream to identify the correct or related URLaddress.

The client 110 may be used to intelligently present results related tomedia communications such as streaming audio and video communications.For example, a content provider or a service provider may bedistributing a large number of “channels” or bands of discretepresentations. A user may wish to survey the channels to find channelspresenting information most relevant to the user's interests.Accordingly, the user may enter a character stream relating to contentthe user finds of interest. For audio content, the character stream mayrelate to an artist, album, or selection (e.g., song) name. For videocontent, the character stream may relate to a particular newsaffiliation (e.g., TIME or CNN), show, episode, or subject mater. In anyevent, regardless of the underlying content, the character stream may beused to retrieve results related to the user's interests as expressed inthe character stream. This may be performed by comparing the enteredcharacter stream with metadata or subtitles associated with a particularmedia selection. In one instance, the character stream may be comparedwith the subtitles for available programming to identify results for theuser. Thus, when the user enters the name in a character stream of anewsmaker, the subtitles of all available programming (includingon-demand and broadcast streams) may be searched to identify mediastreams featuring the newsmaker.

The resultant media streams may be presented in a variety of formats. Inone example, a drop down menu appears to enable the user to launch amedia application related to the retrieved results. In another example,when the media streams include video streams, a tile of video streamssimilar to the tiled orientation in FIG. 8 may be displayed. The videostream tiles may include reduced bit rate presentations to provide theuser with a brief indication of the video content available. When a userselects one of the video tiles, an instance of the video selection at agreater bit rate may be presented.

The systems and operations may be modified to operate in an Intranet ortrusted environment. For example, rather than searching publicdatabases, the system may be configured to incorporate securityprocedures and practices associated with a trusted environment. Thus, asales employee may be allowed to access customer and marketing databasesin analyzing the character stream. Engineering personnel may be allowedto review technical and operational support databases to support theirmission, but may be precluded from analyzing the character stream usinga sales database. Management and/or investigatory personnel may beallowed to access most or all databases in analyzing a character stream.

The results may be stored on the client 110 and/or the host 130. Forexample, the host 130 may cache previously returned results that may beused when analyzing subsequent character streams. In another example,previously selected results may be stored on the client and subsequentcharacter streams may initially be accessed using the previously-storedresults.

The client 110 may enable the user application to launch a messagingcode segment. Alternatively, the user may be entering the characterstream in a messaging application. For example, the user may be enteringa character stream in an instant messaging application. The instantmessaging application may transmit the character stream to a host 130for analysis. The client 110 may receive the results and enable theclient to transmit an instant message when the results indicate that anidentified user is online.

Exchanging the updates may include exchanging only the portion of thecharacter stream that has changed since the character stream was lastexchanged. For example, as a user initially types in information into afirst application, the first application may send a message to the host130 with the initially entered character stream (e.g., “Spring”). As theuser enters updates to the character stream (e.g., by typing “field”after “Spring”), the client 110 may send the new information withoutsending the old information (e.g., the client 110 subsequently sends“field” instead of “Springfield”). Alternatively, the client 110 maysend the current character stream. For example, the client 110 may firstsend “Spring” and then later transmit “Springfield”.

The client 110 and/or host 130 may determine that there are no relevantresults and operate to preclude additional processing resources frombeing used. For example, the user may be entering character streams forwhich the host 130 has no information and generates no results. When thehost 130 determines that there is no information, the host 130 mayinterface with the client 110 to prevent additional updates from beingexchanged. Such a condition occurs when the user enters a characterstream that does not relate to content accessible by the host 130. Forexample, the host 130 may determine that CHARACTERSTREAM1 will not yieldany results, and no extension of CHARACTERSTREAM1 will yield anyresults. If the user enters additional information, such asCHARACTERSTREAM123, the first application will not send any updatedinformation to the host 130. However, if the user uses the DELETE key tomodify the character stream so that CHARACTERSTREAM1 is changed toCHARACTERSTREAM, the character stream may be exchanged.

The client 110 may perform preliminary analysis to preclude commoncharacter streams from being analyzed where the common character streamgenerates results that are not responsive to the predicted interest of auser. For example, when “the” appears in a character stream,particularly in an initial portion of the character stream, generatingresults using the character stream “the” likely generates too manyresults, few, if any, of which are responsive to the predicted interestof the user. Accordingly, exchanging the character stream may be delayeduntil the character stream is meaningful. Thus, exchanging the characterstream “the” may be delayed until character stream reads “the Greekislands” or another character stream likely to generate meaningfulresults. Similarly, the character stream may be restructured to removestrings in the character stream not likely to assist in the analysis(either on the client 110 or the host 130). Thus, strings appearing inthe character stream such as “the”, “a”, and “this” may be removed fromthe character stream prior to exchanging the character stream.

Displaying the results may include displaying the results directly inaddition to displaying a label for the results that enables a codesegment for the results to be launched. For example, the results mayinclude an actual stock quote rather than a label for a code segmentthat generates a stock quote. The displayed result may include a capsuleor brief summary for a news item. The capsule also may be configured toretrieve a more detailed article on the news item when the user selectsthe news item.

Although many of the operations were described with respect to acharacter stream received on a personal computer, the operations alsomay be performed in response to receiving one or more characters (e.g.,a sequence of ambiguous characters) from a device with a limited displayand/or a reduced-entry keypad (e.g., a wireless handset or telephone).For example, FIG. 11 illustrates a mobile device 1100 that may beconfigured to return results related to an ambiguous character. Inparticular, mobile device 1100 is configured to enable a user to selecta sequence of one or more ambiguous characters on a reduced-entrykeypad. The mobile device 1100 exchanges the sequence of ambiguouscharacters with a host and presents results responsive to a predictedinterest. To enable better perception of details, mobile device display1110 has been projected to offer a larger rendering of mobile devicedisplay 1110.

Mobile device display 1110 includes an input display 1120 and a resultsdisplay 1130. Input display 1120 enables user perception of ambiguouscharacters that have been entered and results display 1130 enables userperception of results responsive to a predicted interest of the user. Asshown, input display 1120 indicates that ambiguous characters “733” havebeen entered where “7” and “3” represent ambiguous characters appearingin a keypad on a mobile device 1100. The characters “7” and “3” areambiguous in the sense that the number “7” also may represent theletters “P”, “Q”, “R, or “S” in addition to representing the number “7”,and the number “3” may also may represent the letters “D”, “En, or “F”in addition to representing the number “3”. The results display 1130renders results related to the ambiguous characters that have beenentered. In particular, the mobile device 1100 may provide a sequence ofone or more ambiguous characters to a host (not shown). In turn, thehost may analyze the sequence of ambiguous characters, identify resultsresponsive to a predicted interest of the user, and return the resultsto the mobile device. Using the results, the mobile device 1100 isconfigured to render the results in the results display 1130.

As shown, a host has determined that a user entering “733” may besearching for information related to the term “Red”, such as theWashington Redskins. For example, a host may determine that theambiguous character “7” represents “R, ambiguous character “3”represents “E”,′ and ambiguous character “3” represents “D.”

Results 1140-1144 represent one or more applications that may belaunched in response to user selection of one or more of the results. Inresponse to the host determining that the user entering ambiguouscharacters “733” is likely interested in terms that include and/or beginwith “RE” or “RED”, the mobile device 1100 displays results 1140-1144 inresults display 1130. The first result 1140 shows the score of aWashington Redskins football game and includes a link to retrieveadditional information about the Redskins game. The second result 1141includes results from a directory service application and includes atelephone listing for a Red Lobster. A user may select the second result1140 to call the listed telephone number. The third result 1142 includesmovie information for the movie “Red Dragon.” The third result 1142 maybe selected to purchase of tickets or provide movie listings in responseto selection by a user. The fourth result 1143 includes an activationcode segment structured and arranged to enable a user to purchase a DVDof the movie “The Ref.” The fifth result 1144 includes a link that maybe selected in order to retrieve and present a map of Redondo Beach,Calif.

The mobile device display 1110 also includes a scroll bar 1150. Thescroll bar 1150 may be used to indicate and access more results than maybe rendered in the results display 1130.

In one implementation, mobile device 1100 renders results 1140-1144 inresponse to determining that the results 1140-1144 are the most popularresults for the sequence of ambiguous characters “733”. Alternatively orin addition, results may be responsive to a particular user (e.g., ahost has determined that a particular user is a Redskins fan). In yetanother variation, the mobile device 1100 renders results responsive toa location for a mobile device. More precisely, a sequence of ambiguouscharacters may be analyzed using location information for the mobiledevice 1100. For example, a host may receive location information forthe mobile device 1100 (e.g., proximity to a restaurant district thatincludes a Red Lobster Restaurant) and return results for proximaterestaurants related to the sequence of ambiguous characters.

As shown, input display 1130 includes a cursor 1132. Cursor 1132illustrates that additional ambiguous characters may be exchanged in thesequence of ambiguous characters. Additional ambiguous characters may beused to further disambiguate results.

For example, FIG. 12 illustrates a mobile device 1200 configured toreturn results responsive to additional input of ambiguous charactersafter initially presenting results responsive to ambiguous characters.Generally, the mobile device 1200 relates to the mobile device 1100described with respect to FIG. 11. However, the mobile device 1200illustrates how results appearing in results display 1230 may bemodified in response to receiving an additional ambiguous character. Ahost may use the additional ambiguous character to more precisely tailorresults.

As shown in input portion 1220, the mobile device 1200 indicates that a“7” has been entered in addition to the “733” shown in FIG. 11. As aresult, the sequence of ambiguous characters 1231 is “7337”. Using“7337” as a sequence of ambiguous characters, the mobile device 1200renders results 1240-1244 in results display 1230.

While the first result 1240 in FIG. 12 is similar to the first result1140 in FIG. 11 (updated with a current score), other results may differfrom results 1140-1144 shown in FIG. 11 to reflect the addition ofanother ambiguous character. For example, the results display 1230 nolonger includes results that include the completed word “Red” such as“Red Lobster” or “Red Dragon”, in contrast to results that merelyinclude “red” as a sequence of characters (e.g., Redskins). Reflectingthe addition of “7” to the sequence of ambiguous characters, the secondresult 1241 includes a link to information about the Cincinnati Reds.Note that on some keypads, a “7” key also may represent the characters“P”, “Q, “R, and “S” in addition to the number 7. Thus, “7337” mayrepresent the “REDS”. Also, the second result 1241 illustrates that aresult need not be limited to results that begin with the sequence ofambiguous characters. For example, the second result 1241 relates to anentry that begins with “Cincinnati.”

The third result 1242 includes an application that may be selected toreceive driving directions to a Washington Redskins venue. The fourthresult 1243 includes a program that may be selected to buy tickets forsporting events. The fifth result 1243 includes results from a directoryservice application and includes a telephone listing for a “RedsSaloon.” Although FIGS. 11 and 12 illustrate actual results beingrendered, a stem also may be rendered. A stem may represent a portion ofa term or result. To the extent that a stem is used in multiple results,selecting a stem may be used to render multiple results and/oradditional stems appearing after or based upon a present stem.

While FIGS. 11 and 12 illustrate that a sequence of ambiguous charactersmay be resolved without specifying a structure for a term (e.g.,length), a user may use a special character such as a “space” characterto resolve an ambiguous character stream. FIG. 13 illustrates a mobiledevice 1300 configured to return results responsive to the input of aspace character after initially presenting results responsive to asequence of ambiguous characters. The input of a “space” character maybe used to delineate term boundaries in a sequence of ambiguouscharacters, such as indicating whether a user is interested in resultsthat are related to the completed word “red” rather than words thatmerely include the word “red” (e.g., the Washington Redskins). Theresults display 1330 may be modified to show only Red Eagle relatedresults. The results display 1330 differs from the results display 1130of FIG. 11 in that all of the results 1341-1345 are Red Eagle relatedresults, whereas results display 1130 only includes one Redskins-relatedresult. The results display 1330 includes a header 1340 represented bythe “Red Eagle” title to aid user perception that all results are RedEagle-related. Although a space may be used to indicate a degree ofacceptance of the results rendered, other results also supported by thesequence of ambiguous characters with the space also may be rendered.For example, results related to “SEE” also may be returned where “733”has been entered.

A user may use a “next word” key to advance through different stems. Forexample, although “RED” may represent a likely word step, a user may usea soft key to advance through other stems. In the case of “733”, thestems may include “REF”, and “SEE. As a result of the user advancingthrough different stems, the stem to which a user advanced may bedetermined to be a stem most likely responsive to a user's predictedinterest, and thus, rendered before other stems.

The first result 1341 in the results display 1330 is similar to thefirst result 1140 of a sporting event referenced in FIG. 11. The “RedEagle” may be filtered out or reduced as a result of the header 1340rendering “Red Eagle.” The second result 1342 includes an applicationthat may be selected to purchase tickets to a Red Eagle game. The thirdresult 1343 includes a application that may be selected show the latestheadlines and news information about the Red Eagles. The fourth result1344 includes an application that may be selected to receive drivingdirections to Red Eagle Field. The fifth result 1345 includes anapplication that may be selected to receive information about weatherconditions at Red Eagle Field.

Inputs other than a space character may be used to resolve a sequence ofambiguous characters. In one implementation, a sequence of ambiguouscharacters may be resolved by, for instance, inputting anon-alphanumeric character such as “-” or “@” from a page of symbols, orby pressing an arrow button on a mobile device.

The results in result displays 1130, 1230, and 1330 may be selected by auser. When a user selects a result, the mobile device is typicallyconfigured to perform a particular action responsive to the resultselected. For example, in order to obtain more information about a RedEagle football game, a user may select result 1341 in FIG. 13.

Exemplifying a display that may be displayed responsive to selecting aresult, FIG. 14 illustrates a mobile device 1400 configured to displayinformation about a football game in progress. The game informationincludes the Redskins score 1421, the Giants score 1422, a variety ofgame statistics 1423, and a play-by-play information section 1424.

FIG. 15 illustrates a mobile device 1500 configured to displayadvertisements associated with user inputs. The advertisements 1541-1543shown in the mobile device display 1510 correspond to products andservices that are related to the Washington Redskins. The firstadvertisement 1541 represents a classified advertisement and offersthree Redskins tickets for sale. The second advertisement 1542 offers aRedskins jersey for sale. The third advertisement 1542 is anadvertisement to visit an online store that sells Redskinsparaphernalia.

In one implementation, mobile device 1500 renders advertisements1541-1543 in response to the user selecting a result. Alternatively, orin addition, advertisements may be responsive to a sequence of ambiguouscharacters. For example, prior to narrowing a search to return onlyRedskins results, advertisements may have been displayed offering RedLobster discounts. The advertisements also may be responsive to aparticular user, for example, where the shopping habits of theparticular user are known.

FIG. 16 illustrates a mobile device display 1600 for a mobile devicethat is configured to return results related to a sequence of ambiguouscharacters. Results 1611 renders a sequence of ambiguous characters. Theresults 1611 display the text “Spring”, representing one resultresponsive to the sequence of ambiguous characters “777464”. In oneimplementation, the results rendered in the results 1611 relate to oneor more results. In another implementation, the results 1611 areresponsive to a user preference and/or profile. For example, as shownFIG. 16, the mobile device may render “Spring” where a user inputs thesequence of ambiguous characters “777464” when the user's location isdetermined to be proximate to Springfield, Ill.

FIG. 16 also illustrates the use of icons to provide an indicate of anapplication invoked in response to selecting a particular result. Icons1612-14 are displayed in association with each result. Icon 1612displays an airplane icon in association with a first result to indicatethat selecting the first result launches an application for planning andarranging travel. Icon 1613 displays a globe in association with asecond result to indicate that selecting the second result launches amapping application. Icon 1614 displays a table icon in association witha third result to indicate that selecting the third result launches arestaurant application. Although the operations were described withrespect to an application that is launched, the result also may relateto an object such as content (e.g., a ring tone or an audio clip).

The mobile device display 1600 includes a special symbol 1616 (e.g., adownward arrow symbol) that corresponds to a button on the mobiledevice. Using a button related to a special symbol, a user may advancethrough the results and view additional results beyond those rendered onthe mobile device display 1600. Also, the mobile device display 1600 mayinclude one more “shortcuts” for a user to select a particular result.As shown, the substring “field” from the string “Springfield” isunderlined in the second result displayed on the mobile device display1600. The underlined text indicates that a user may select the secondresult by inputting the character “f” or by inputting an ambiguouscharacter that corresponds to “f” such as the number “3.”

FIG. 17 illustrates how the results may change after each input tonarrow results. For example, “Fullerton, Calif.” becomes more likely,moving from second to first position, while “Dulles” is eliminated fromconsideration, when the “8TUV” key is added to the input sequence. Thethird result in the second display currently labeled 1711 illustratesthat the input sequence “3855378” may retrieve reasonable results eventhough in this case the sequence did not also match the area codepreceding the phone number.

In FIG. 16, the underlined portion of text relates to subsequentcharacters that have not yet been entered in the sequence of ambiguouscharacters. FIG. 17 also illustrates how analysis may return resultsrelated to characters that have not been entered that appear at thebeginning of a disambiguated term. In another implementation (notshown), a result with the underlined characters may be selected to usethe selected result as a term. In yet another implementation, theunderline characters represent a “shortcut” to “keys” that may beselected. Other substrings related to other results may be underlined toindicate a shortcut to other results. For example, when the underlinedtext represents a selectable shortcut, the third result illustrates thatafter 555-(1711) has been entered, a “5” may be entered to select anapplication related to phone number “555-385-5378”.

In one implementation, a selection shortcut is indicated as a digit nextto each result (not shown). The user may press a key to indicate entryis complete and enter a selection mode, and then press the keycorresponding to the digit next to the desired result. On anotherdevice, the user may be required to hold down the corresponding key fora period of time (e.g., 1 second or longer) rather than entering aseparate selection mode. On a touch-screen device a user may tapdirectly on the desired result to invoke the default action or display amenu of choices.

Special input keys, such as a soft key, may be used to rapidly navigateresults. For example, a first special character may be used to onlydisplay contact information used to file out (e.g., pressing “#” onlyreturns results from an address book or a directory service application)while a second special character may be used to filter out other results(e.g., pressing “*” removes results related to an address bookapplication or a directory service application). Alternatively or inaddition, entering a special character may be used to automaticallyselect a result (e.g., pressing left arrow selects a mappingapplication).

Additional shortcuts may be available to rapidly navigate results suchas a dedicated key, a mode-specific key, or a menu option configured toreduce the number and type of results. For example, selecting the“Options” menu item labeled “Show Contacts” while the results aredisplayed may filter out any items not offering contact information.Alternatively, the results of a search may be passed to an applicationthe user invokes, for example, if the user presses a dedicated “Web”key, a browser may be launched that has related web addresses ready forselection.

FIG. 18 includes four exemplary mobile device displays illustrating howa sequence of ambiguous characters may be entered and analyzed togenerate a term as a result for inclusion in a text message. Firstmobile device display 1810 indicates that “3855378” has been entered.First mobile device display 1810 also includes results. In oneimplementation, selecting a result may execute an application on themobile device. In another implementation, selecting a result may includeinitially executing an application on a host and/or presenting dataresulting from execution of the application on the host.

Mobile device display 1820 indicates that the sequence of ambiguouscharacters may be resolved to “3855378” and “fullest”. A “More” banneris displayed below the results. A user may select the “fullest” resultfrom the results to insert the string “fullest” into a text message.Alternatively and as illustrated in the second mobile device display1820, a user may select the “More” banner in order to render additionalresults. Subsequently, as illustrated by the “Retrieving” banner and acorresponding progress meter in the third mobile device display 1830,additional results are rendered. Mobile device display 1840 displaysadditional results. For example, a mobile device may use a localprocessing capability to present first results and retrieve additionalresults accessed from a host in response to a user request foradditional results.

Results may be retrieved from specialized databases depending upon amanual or automatic determination of the information needingdisambiguation. For example, if the user is a medical specialist andtypically uses a lot of medical terms that are not stored locally, theuser may select a medical terms mode or the preliminary analysis codesegment may determine that medical terms have been used in the past andthat a remote medical terms database will be used to analyze thesequence of ambiguous characters. Other specialized databases includelegal terms, personal address books, or AOL keywords. Still, otherdatabases may include common misspellings, or current words and phrasessuch as slang and news headlines.

Similar to FIG. 18, FIG. 19 includes four exemplary mobile devicedisplays that are associated with a mobile device configured to receivea sequence of ambiguous characters and retrieve results responsive tothe sequence of ambiguous characters. Mobile device display 1910indicates that “2826483” has been entered as a sequence of ambiguouscharacters. Mobile device display 1910 includes results with thecharacter sequences “2826483” and “avangue.” A “More” banner is renderedbelow the results.

Mobile device display 1920 and mobile device display 1930 illustrate howa display may be modified as a result of a user selecting a “More”banner with a host retrieving additional results.

Mobile device display 1940 includes additional results retrieved from ahost. The results includes a “slang” term “cu2nite”. Mobile devicedisplay 1940 also includes a prompt 1941 to download a “TXT Slang”dictionary for twenty-five cents. A user electing to download thedictionary may select the “yes” input 1942 while a user not electing todownload the dictionary may select the “no” input 1943.

In one implementation, results may be returned to a “text only”application that has already been launched (e.g., a text message beinggenerated). Alternatively or in addition, applications may be launchedresponsive to entry of a sequence of ambiguous characters. And,selecting a result may launch a rich array of applications, such as amultimedia application or a geolocation service. For example, FIG. 20illustrates a java applet that may be launched in response to selectingan application appearing as a result.

Other examples of results that may be retrieved may include, but are notlimited to, phone numbers and/or keywords. Clicking on a result with aphone number may allow a phone call to be placed. The phone call may bebridged to a telephone network or connected to an IP phone (e.g., avirtual phone application residing in a dialed user's PC).

The results and additional information descriptive of results previouslyreturned or selected may be stored on the client 110 and/or the host130. For example, the most recently accessed results may be cached onthe client 110, while a more extensive history of results may be cachedon the host 130. The stored results may be accessed and used to analyzeand generate results responsive to a user's predictive interest.

To illustrate how stored results may be used to analyze a subsequentcharacter stream, a previous search related to the National FootballLeague (NFL) may generate a series of metadata tags. These metadata tagsmay be stored in a profile associated with the user. For example, theuser searching for NFL-related information may have the metadata tags“NFL”, and “Football” added to their user profile. The metadata tags maybe used in performing subsequent analysis. Thus, when the user types in“Falcons”, additional metadata tags related to the multiple meanings of“Falcons” may be generated and analyzed using the metadata tagspreviously generated. Examples of metadata tags related to Falcons mayinclude terms such as “NFL”, “Audubon Society”, and “Sport of Kings”.The metadata tags from the previous search on the NFL may be comparedagainst metadata tags generated by entering “Falcons”. By correlatingthe results from a previous search with known metadata tags for the termof interest, results that are likely to be more responsive to thepredicted interest of a user are returned. In this case, correlating theresults of the previous search with the present search generates resultsrelated to the NFL's Atlanta Falcons.

The results from multiple users may be used to determine results thatare more responsive to a predictive interest of a different user. Forexample, if most of the users entering “Falcons” as a character streamare determined to be interested in the NFL, a default rule may becreated and adopted that returns results related to the NFL sports teamin response to “Falcons.” A finer analysis may be performed bysuspending the default rule when the user has a profile or has expressedan interest in other, non-sports aspects of “falcons” or used modifierssuch as “birds”, “Audubon Society”, or “kestrels”.

Although many of the operations were described with respect to analphanumeric keypad, the operations also may be used in support of otherinput entry systems including ideographic, stylic entry, and handwritingrecognition-oriented systems. For example, handwritten strokes or strokecategories may be mapped to the available keys so that a user may enterstrokes for a desired character in a specific order. In another example,a phonetic alphabet is mapped to the keys so that a user may enter aphonetic spelling of the desired character. The user then may locate andselect the desired character from among the several that may relate tothe input sequence.

Analyzing a sequence of ambiguous characters may incorporate resultsfrom prior analysis. For example, a host may determine that two or moreideographic characters are often needed to define a term, word orphrase. A host may recognize that the sequence of ambiguous characterslikely represents a portion of a phrase. In recognizing that thesequence of ambiguous represents a portion of a phrase, the host mayreduce the requirement to analyze and/or select subsequent characters,ideographs, or words individually.

In one implementation, local analysis is performed before the sequenceof ambiguous characters is exchanged with the host. For example, if auser enters “Dulles” and the client does not have a desired term in aclient vocabulary or dictionary, the client may exchange “Dulles” withthe host. In another implementation, results retrieved from a host maybe selectively or automatically loaded to a local dictionary on theclient. For example, the client may reserve a specified amount ofstorage for the most recently retrieved results and/or the most popularresults.

In one implementation where handwriting recognition is being used, aclient may initially resolve a user input to a character. A sequence ofone or more characters then may be exchanged the host. The host may beconfigured to perform analysis on characters related to the charactersthat have been received so that results may be returned even where auser input was incorrectly recognized. For example, a client with atouch screen that uses handwriting recognition may incorrectly recognizea first handwritten “e” character as a “c” character. The client mayexchange the “c” with a host. The host may modify the analysis inresponse to receiving an indication that the client is using handwritingrecognition to account for entry of errors during the preliminaryhandwriting recognition. As a result, the host may return resultsresponsive to the first handwritten character represented as anambiguous character for “c” and “e”.

A client may submit attributes and/or modifiers indicating so that ahost may provide results more likely to be responsive to a user'spredicted interest. In one implementation, the client indicates that theclient is a wireless phone with a reduced-entry keypad and limiteddisplay. As a result, the host may be configured to provide resultstailored to the limited display and/or related to mobile use. In oneexample, a host may provide results related to the application mostcommonly accessed by mobile users (e.g., directory services and mappingapplications. In another example, a host configured to include mappingcontent in results may be configured to “favor” results proximate to auser's location.

Results may be retrieved from multiple databases, including databasesfrom different languages. A host may detect that a term from a differentlanguage has been selected, and, as a result, return results responsiveto the different language that has been detected. For example, a hostmay offer German matches related to a sequence of ambiguous characters.In response to detecting that a user has selected a German term, thehost may be configured to perform relate subsequent input in thesequence of ambiguous characters to German terms, such as Germanautomobile manufacturers.

Spelling correction agents may recognize that a user has likely entereda typographical mistake. In response, spelling correction agents maycorrect the default interpretation by altering the input sequence on theclient and/or by retrieving corrected results. For example, the“entered” sequence from an autocorrecting touch screen keyboard may beanalyzed and displayed on a client, but a “spelling corrected”interpretation may be used when the sequence of ambiguous characters areexchanged with a host.

A content provider may establish a “preferred” area of content fromwhich results should be initially returned. For example, a wirelesscarrier may enable access to content on specialized hosts configured toserve content to wireless phones. The specialized hosts may selectivelyenable access to content based on a status of a subscription and/orreconfigure content hosted elsewhere for better display on a wirelessphone.

The client may include nonvisual input and display systems. In oneimplementation, a wireless phone may include a text-to-speech enginethat generates an audio signal related to each result. In anotherimplementation, the wireless phone may include a wireless phone thatuses voice inputs to rapidly navigate among results that have beenreturned. For example, a voice recognition engine on a wireless phonemay experience difficulty in resolving a large vocabulary and/or aparticular dialect. A user may rely upon a reduced entry keypad toinitially enter terms that should be used. After rendering some terms inthe results, the voice recognition system may be activated and used toselect from among the results that have been rendered.

In one implementation, the client selectively activates a communicationsinterface to a wireless network in response to receiving a thresholdnumber of characters, or in response to receiving a threshold number ofambiguous characters. In another implementation, the client accesses an“always on” communications interface. In yet another implementation, theclient accesses a low bandwidth communications interface to exchange thesequence of ambiguous characters and/or low bandwidth results. If theuser is accessing results that are more resource intensive, such as asample of a ring tone, a higher bandwidth communications interface maybe established.

Multiple levels of disambiguation may be performed. For example, a hostmay analyze an ambiguous character stream and resolve the ambiguouscharacter stream to one or more terms. For example, a “24737” may beresolved to “BIRDS”. The terms then may be further resolved to reflectambiguous meaning for terms. For example, “24737” may be resolved to“Baltimore Orioles” for users determined to be baseball fans in thegreater Baltimore region. In implementation, the additionaldisambiguation is performed after resolving “24737” directly to “BIRDS”.In another implementation, “24737” may be directed resolved to“Baltimore Orioles” when a host database supports a more detailed levelof user profiling and a sports vocabulary.

Those skilled in the art will also understand that there can be manyvariations made to the operations of the techniques explained abovewhile still achieving the same objectives of the invention. Suchvariations are intended to be covered by the scope of this invention. Assuch, the foregoing description of embodiments of the invention are notintended to be limiting. Rather, any limitations to embodiments of theinvention are presented in the following claims.

1. A computer-implemented method of presenting information to a user inwhich a computer system initiates execution of software instructionsstored in memory, the computer-implemented method comprising: receivingone or more ambiguous characters via a reduced-entry keypad of awireless phone, the one or more ambiguous characters received as asequence of numbers input through the reduced-entry keypad, eachrespective ambiguous character being a number that represents one of atleast two disambiguated letters; exchanging at least one of theambiguous characters with a host by transmitting the sequence of numbersto the host across a wireless network, exchanging the at least one ofthe ambiguous characters including exchanging the sequence of numbersupon receiving an amount of numbers in the sequence that meets aninitial predetermined threshold amount of numbers, and exchangingsubsequently received numbers, received as part of the sequence ofnumbers, after receiving an amount of the subsequently received numbersabove a second predetermined threshold amount of numbers; receiving,from the host, results that represent disambiguated terms correspondingto the ambiguous characters exchanged with the host; rendering theresults in a display of the wireless phone in a manner that enablesidentification of which of the disambiguated terms will be used upon areceived selection of a displayed result; receiving, from the host,updated results that represent disambiguated terms corresponding to thesubsequently received numbers exchanged with the host; rendering theupdated results in the display of the wireless phone; and in response toreceiving a selection of one of the disambiguated terms, displayinginformation corresponding to the selection.
 2. The computer-implementedmethod of claim 1, wherein exchanging the at least one of the ambiguouscharacters with the host includes: sending the subsequently receivednumbers to the host without resending previously sent numbers of thesequence of numbers and without receiving a manually entered completioninput that indicates a completion of the sequence of numbers; inresponse to receiving the subsequently received numbers in the sequenceof numbers, and without receiving the completion input, determining thatno relevant results exist; and in response to determining that norelevant results exist, indicating that that no relevant results exist.3. The computer-implemented method of claim 1 further comprising:identifying several user applications based on the disambiguated terms;and rendering the results in a manner that indicates which one of theseveral user applications will be launched in response to selection of agiven result.
 4. The computer-implemented method of claim 1 furthercomprising: receiving nonambiguous characters; and exchangingnonambiguous characters with the host.
 5. The computer-implementedmethod of claim 1, wherein exchanging the at least one of the ambiguouscharacters with the host includes: transmitting updates to the host uponreceiving the subsequently received numbers, the transmitting occurringafter detecting that user inactivity in entering the sequence of numbersexceeds a predetermined period of time.
 6. The computer-implementedmethod of claim 1, further comprising: rendering word stems of potentialresults; presenting an interface that provides display and selection oflikely word stems; and receiving a selection of a given word stem. 7.The computer-implemented method of claim 1 further comprising:determining if an updated threshold of updated ambiguous characters hasbeen received; exchanging the updated ambiguous characters upon receiptof the updated threshold of ambiguous characters; receiving updatedresults from the host; and rendering the updated results.
 8. Thecomputer-implemented method of claim 1, wherein receiving the one ormore ambiguous characters includes: receiving the one or more ambiguouscharacters in a keyword retrieval field of a web browser application;wherein rendering the results includes displaying a drop down windowadjacent to the keyword retrieval field while the user inputs theambiguous characters, the drop down window displaying likely results forthe ambiguous characters; and updating the displayed likely results uponreceiving additional ambiguous characters from the user.
 9. A system forpresenting information to a user, the system comprising: a processor;and a memory coupled to the processor, the memory storing instructionsthat, when executed by the processor, cause the system to perform theoperations of: receiving one or more ambiguous characters via areduced-entry keypad of a wireless phone, the one or more ambiguouscharacters received as a sequence of numbers input through thereduced-entry keypad, each respective ambiguous character being a numberthat represents one of at least two disambiguated letters; exchanging atleast one of the ambiguous characters with a host by transmitting thesequence of numbers to the host across a wireless network, exchangingthe at least one of the ambiguous characters including exchanging thesequence of numbers upon receiving an amount of numbers in the sequencethat meets an initial predetermined threshold amount of numbers, andexchanging subsequently received numbers, received as part of thesequence of numbers, after receiving an amount of the subsequentlyreceived numbers above a second predetermined threshold amount ofnumbers; receiving, from the host, results that represent disambiguatedterms corresponding to the ambiguous characters exchanged with the host;rendering the results in a display of the wireless phone in a mannerthat enables identification of which of the disambiguated terms will beused upon a received selection of a displayed result; receiving, fromthe host, updated results that represent disambiguated termscorresponding to the subsequently received numbers exchanged with thehost; rendering the updated results in the display of the wirelessphone; and in response to receiving a selection of one of thedisambiguated terms, displaying information corresponding to theselection.
 10. The system of claim 9 wherein the memory stores furtherinstructions that, when executed by the processor, cause the system toperform the operations of: determining if an updated threshold ofupdated ambiguous characters has been received; exchanging the updatedambiguous characters upon receipt of the updated threshold of ambiguouscharacters; receiving updated results from the host; and rendering theupdated results.
 11. The system of claim 10, wherein the memory storesfurther instructions that, when executed by the processor, cause thesystem to perform the operations of: identifying several userapplications based on the disambiguated terms; rendering the results ina manner that indicates which one of the several user applications willbe launched in response to selection of a given result; rendering wordstems of potential results; presenting an interface that providesdisplay and selection of likely word stems: receiving a selection of agiven word stem; and wherein exchanging the at least one of theambiguous characters with the host includes transmitting updates to thehost upon receiving the subsequently received numbers, the transmittingoccurring after detecting that user inactivity in entering the sequenceof numbers exceeds a predetermined period of time.
 12. The system ofclaim 11, wherein exchanging the at least one of the ambiguouscharacters with the host includes: sending the subsequently receivednumbers to the host without resending previously sent numbers of thesequence of numbers and without receiving a manually entered completioninput that indicates a completion of the sequence of numbers; inresponse to receiving the subsequently received numbers in the sequenceof numbers, and without receiving the completion input, determining thatno relevant results exist; and in response to determining that norelevant results exist, indicating that that no relevant results exist.13. The system of claim 11, wherein receiving the one or more ambiguouscharacters includes: receiving the one or more ambiguous characters in akeyword retrieval field of a web browser application; wherein renderingthe results includes displaying a drop down window adjacent to thekeyword retrieval field while the user inputs the ambiguous characters,the drop down window displaying likely results for the ambiguouscharacters; and updating the displayed likely results upon receivingadditional ambiguous characters from the user.
 14. Acomputer-implemented method of presenting information to a user in whicha computer system initiates execution of software instructions stored inmemory, the computer-implemented method comprising: receiving one ormore ambiguous characters via a mobile device, the one or more ambiguouscharacters received as a sequence of numbers input through a keypad ofthe mobile device, each respective ambiguous character being a numberthat represents one of at least two disambiguated letters; exchanging atleast one of the ambiguous characters with a host by transmitting thesequence of numbers to the host across a wireless network, exchangingthe at least one of the ambiguous characters including exchanging thesequence of numbers upon receiving an amount of numbers in the sequencethat meets an initial predetermined threshold amount of numbers, andexchanging subsequently received numbers, received as part of thesequence of numbers, after receiving an amount of the subsequentlyreceived numbers above a second predetermined threshold amount ofnumbers; receiving, from the host, results that represent disambiguatedterms corresponding to the ambiguous characters exchanged with the host;rendering the results in a display of the wireless phone in a mannerthat enables identification of which of the disambiguated terms will beused upon a received selection of a displayed result; receiving, fromthe host, updated results that represent disambiguated termscorresponding to the subsequently received numbers exchanged with thehost; rendering the updated results in the display of the wirelessphone; and in response to receiving a selection of one of thedisambiguated terms, displaying information corresponding to theselection.
 15. The computer-implemented method of claim 14, whereinexchanging the at least one of the ambiguous characters with the hostincludes: sending the subsequently received numbers to the host withoutresending previously sent numbers of the sequence of numbers and withoutreceiving a manually entered completion input that indicates acompletion of the sequence of numbers; in response to receiving thesubsequently received numbers in the sequence of numbers, and withoutreceiving the completion input, determining that no relevant resultsexist; and in response to determining that no relevant results exist,indicating that that no relevant results exist.
 16. Thecomputer-implemented method of claim 15 further comprising: identifyingseveral user applications based on the disambiguated terms; andrendering the results in a manner that indicates which one of theseveral user applications will be launched in response to selection of agiven result.
 17. The computer-implemented method of claim 16, whereinexchanging the at least one of the ambiguous characters with the hostincludes: transmitting updates to the host upon receiving thesubsequently received numbers, the transmitting occurring afterdetecting that user inactivity in entering the sequence of numbersexceeds a predetermined period of time.
 18. The computer-implementedmethod of claim 17, further comprising: rendering word stems ofpotential results; presenting an interface that provides display andselection of likely word stems; and receiving a selection of a givenword stem.
 19. The computer-implemented method of claim 18 furthercomprising: determining if an updated threshold of updated ambiguouscharacters has been received; exchanging the updated ambiguouscharacters upon receipt of the updated threshold of ambiguouscharacters; receiving updated results from the host; and rendering theupdated results.
 20. The computer-implemented method of claim 19,wherein exchanging the at least one of the ambiguous characters with thehost is in response to detecting that a list of matching terms has beencycled through via input from a user interface more than a predeterminedamount.